home *** CD-ROM | disk | FTP | other *** search
- /* script permettant de nommer tous les fichiers d'un repertoire
- en fonction du nom de ce repertoire + un numero
- Pour Dopus 5, mais facilement exploitable pour dos ou autre ...
-
- By Raisltin - 18/07/97
-
- Usage : DOpus5:ARexx/Catalogize.dopus5 {Qp}
- Output to window
- [window close button]
- */
-
- options results
-
- parse arg DOpusPort
-
- DOpusPort = Strip(Strip(DOpusPort,"B"," "),"B",'"')
-
- If DOpusPort = "" Then DOpusPort = "DOPUS.1"
-
- Address VALUE DOpusPort
-
- lister query source
- Lister_Handle = result
- lister query Lister_Handle path
- Lister_Path = strip(result, "B", '"')
- lister query Lister_Handle seldirs
- Liste = result
- lister query Lister_Handle numselentries
- Lister_NumSelEnt = result
-
- if Lister_NumSelEnt <= 0 then
- do
- say "aucun fichier selectionné"
- exit
- end
-
- do until liste=""
-
- PARSE VAR Liste entry ' ' Liste
-
- entry = strip(entry,'B','"')
-
- filelist = SHOWDIR(Lister_Path||entry,'FILE','0a'x)
-
- IF LENGTH(filelist)=0 THEN
- DO
- say "repertoire vide"
- exit
- END
-
- n=0
- filelist2=filelist
- maxlen = 0
-
- DO UNTIL filelist2=""
- PARSE VAR filelist2 filename '0a'x filelist2
- if length(filename) > maxlen then maxlen = length(filename)
- n=n+1
- END
-
- path = Lister_Path || entry || "/"
-
- say "Path : "||path
- say n ||" files"
-
- i = 0
-
- DO UNTIL filelist=""
- i=i+1
- PARSE VAR filelist filename '0a'x rest
- filelist=rest
-
- /* split the filename between name and extension */
- pos = LASTPOS(".", filename)
- if pos > 0 then do
- name = SUBSTR(filename,1,pos-1)
- ext = SUBSTR(filename,pos+1)
- end
-
- ad = ""
-
- if n >= 10 then
- DO
- if i < 10 then ad = "0"
- END
-
- if n >=100 then
- DO
- if i<10 then ad = "00"
- else if i<100 then ad = "0"
-
- END
-
- ADDRESS 'COMMAND' 'Rename '||path||filename||' '||path||entry||ad||i||"."||ext
-
- say left(filename,maxlen," ")||" ---> "||entry||ad||i||"."||ext
- END
-
- lister select Lister_Handle entry OFF
- end